package cn.yuanqiao.archive.guangpanguanli.mapper;

import cn.yuanqiao.archive.guangpanguanli.domain.YqGptz;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 光盘台账Mapper接口
 * 
 * @author sy
 * @date 2023-10-07
 */
public interface YqGptzMapper 
{
    /**
     * 查询光盘台账
     * 
     * @param yqGptz 光盘台账主键
     * @return 光盘台账
     */
    public YqGptz selectYqGptzById(YqGptz yqGptz);

    /**
     * 查询光盘台账列表
     * 
     * @param yqGptz 光盘台账
     * @return 光盘台账集合
     */
    public List<YqGptz> selectYqGptzList(YqGptz yqGptz);

    /**
     * 导出同义词
     *
     * @param IDs 需要导出的数据主键集合
     * @return 结果
     */
    public List<YqGptz> exportYqGptzListByIDs(@Param("tableName") String tableName, @Param("IDs") Long[] IDs);


    /**
     * 新增光盘台账
     * 
     * @param yqGptz 光盘台账
     * @return 结果
     */
    public int insertYqGptz(YqGptz yqGptz);

    /**
     * 修改光盘台账
     * 
     * @param yqGptz 光盘台账
     * @return 结果
     */
    public int updateYqGptz(YqGptz yqGptz);

    /**
     * 删除光盘台账
     * 
     * @param id 光盘台账主键
     * @return 结果
     */
    public int deleteYqGptzById(Long id);

    /**
     * 批量删除光盘台账
     *
     * @param tableName 表名
     * @param IDs 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYqGptzByIds(@Param("tableName") String tableName, @Param("IDs") Long[] IDs);

//    public int remind(@Param("yqXxtzTable") String yqXxtzTable, @Param("id") Long id, @Param("msg") String msg, @Param("createTime") Date createTime);

    public List<Long> getRecipientsIds(@Param("roleKey") String roleKey, @Param("tenantCode") String tenantCode);

    public int remind(@Param("yqXxtzTable") String yqXxtzTable, @Param("yqXxfbfwTable") String yqXxfbfwTable, @Param("id") Long id, @Param("msg") String msg, @Param("createTime") Date createTime, @Param("recipientsIds") List<Long> recipientsIds);

}
